//
//  NSString+TYCodec.h
//  TYFoundation
//
//  Created by 郭艺伟 on 2019/2/28.
//

#import <Foundation/Foundation.h>

@interface NSString (TYCodec)

/**
 *    使用一个经过Base64编码的字符串来生成一个解码后的NSString对象
 *
 *    @param string 已经经过Base64编码后的字符串
 *
 *    @return 返回经过Base64解码后的NSString对象，如果传入参数不为编码字符串则返回nil
 */
+ (NSString *)ty_stringWithBase64EncodedString:(NSString *)string;

/**
 *    对实例内容进行Base64编码（不换行）
 *    @see -ty_base64EncodedStringWithWrapWidth:
 */
- (NSString *)ty_base64EncodedString;

/**
 *    使用指定换行长度对字符串进行Base64编码
 *
 *    @param wrapWidth 换行长度
 *
 *    @return 返回经过Base64编码后的字符串
 */
- (NSString *)ty_base64EncodedStringWithWrapWidth:(NSUInteger)wrapWidth;

/**
 *    对字符串进行Base64解码，并生成新的字符串
 *
 *    @return 返回经过Base64解码后的NSString对象
 */
- (NSString *)ty_base64DecodedString;

/**
 *    对字符串进行Base64解码，并生成新的NSData对象
 *
 *    @return 返回经过Base64解码后的NSData对象
 */
- (NSData *)ty_base64DecodedData;

@end
